module Test where
import Datatype

--test file input string--
input1 :: String
input1 = "4\r\n6\r\nV1, V2 V6\r\nV2, V1 V4\r\nV3, V3 V3\r\nV4, V5 V6 V2\r\nV5, V4 V6\r\nV6, V1 V4 V5"

--test constant--
sg1=[("V1", ["V2", "V6"]),
	("V2", ["V1", "V4","V3"]),
    ("V3", ["V2" ,"V4","V5"]), 
    ("V4", ["V5", "V6", "V2", "V3"]), 
    ("V5", ["V4", "V6" ,"V3"]),  
    ("V6", ["V1","V4", "V5"])]
vset1 =  ["V1", "V2" ,"V3" ,"V4" , "V5", "V6" ]
cset1 = []
k1 :: Int
k1 = 3

size1 :: Int
size1 = 6

node1 =(sg1, vset1 , cset1, k1, size1)

--test case2 --
sg2=[("V1", ["V2", "V6"]),
	("V2", ["V1", "V4","V3"]),
	("V3", ["V2" ,"V4","V5"]), 
	("V4", ["V5", "V6", "V2", "V3"]), 
	("V5", ["V4" ,"V3"]),  
	("V6", ["V1","V4"])]
vset2 =  ["V1", "V2" ,"V3" ,"V4" , "V5", "V6" ]
cset2 = []
k2 :: Int
k2 = 4

size2 :: Int
size2 = 6

node2 =(sg2, vset2 , cset2, k2, size2)

--test case3--
sg3 = [ ("A", ["B","C"]), 
		("B", ["A","C"]),
		("C", ["A","B","D","E","F"]),
		("D", ["C","F"]),
		("E", ["C","F","H","G"]),
		("F", ["D","C","E","G","H"]),
		("G", ["E","F","H","I"]),
		("H", ["F","E","G","I","J"]),
		("I", ["G","H","J"]),
		("J", ["H","I"])  ]
vset3 =  ["A", "B" ,"C" ,"D" , "E", "F","G" ,"H","I","J"]
cset3 = []
k3 :: Int
k3 = 6

size3 :: Int
size3 = 10

node3 =(sg3, vset3 , cset3, k3, size3)

--test case4--
sg4 = [ ("A", []), 
		("B", []),
		("C", []),
		("D", []),
		("E", []),
		("F", []),
		("G", []),
		("H", []),
		("I", []),
		("J", [])  ]
vset4 =  ["A", "B" ,"C" ,"D" , "E", "F","G" ,"H","I","J"]
cset4 = []
k4 :: Int
k4 = 0

size4 :: Int
size4 = 10

node4 =(sg4, vset4 , cset4, k4, size4)


--test case5---

sg5 = [ ("V1", ["V2", "V6","V1","V1","V1"]),
		("V2", ["V1", "V4","V3"]),
		("V3", ["V2" ,"V4","V5","A"]), 
		("V4", ["V5", "V6", "V2", "V3"]), 
		("V5", ["V4" ,"V3"]),  
		("V6", ["V1","V4"]),
        ("A", ["B","C","V3"]), 
		("B", ["A","C"]),
		("C", ["A","B","D","E","F"]),
		("D", ["C","F"]),
		("E", ["C","F","H","G"]),
		("F", ["D","C","E","G","H"]),
		("G", ["E","F","H","I"]),
		("H", ["F","E","G","I","J"]),
		("I", ["G","H","J"]),
		("J", ["H","I"]),  
		 ("K",[]),
		 ("L",["L","L","L"])]
		
vset5 =  ["A", "B" ,"C" ,"D" , "E", "F","G" ,"H","I","J","K","L","V1", "V2" ,"V3" ,"V4" , "V5", "V6"]
cset5 = []
k5 :: Int
k5 = 9

size5 :: Int
size5 = 18

node5 =(sg5, vset5 , cset5, k5, size5)
--node 6--
sg6 = [ ("V1", ["V1"]),
		("V2", ["V2"]),
		("V3", ["V3"]), 
		("V4", ["V4"]), 
		("V5", ["V5"]),  
		("V6", ["V6"]),
        ("A", ["A"]), 
		("B", ["B"])]
		
vset6 =  ["A", "B" ,"V1", "V2" ,"V3" ,"V4" , "V5", "V6"]
cset6 = []
k6 :: Int
k6 = 8

size6 :: Int
size6 = 8

node6 =(sg6, vset6 , cset6, k6, size6)

---invalid graph--
unsg1=[("V1", ["V2", "V6"]),
	("V2", [ "V4","V3"]),
    ("V3", ["V2" ,"V4","V5"]), 
    ("V4", ["V5", "V6", "V2", "V3"]), 
    ("V5", ["V4", "V6" ,"V3"]),  
    ("V6", ["V1","V4", "V5"])]
    
unsg2=[("V1", [ ]),
	("V2", ["V1", "V4","V3"]),
    ("V3", ["V2" ,"V4","V5"]), 
    ("V4", ["V5", "V6", "V2", "V3"]), 
    ("V5", ["V4", "V6" ,"V3"]),  
    ("V6", ["V1","V4", "V5"])]
    
unsg3 = [ ("V1", ["V2", "V6","V1","V1","V1"]),
		("V2", ["V1", "V4"]),
		("V3", ["V2" ,"V4","V5","A"]), 
		("V4", ["V5", "V6", "V2", "V3"]), 
		("V5", ["V4" ,"V3"]),  
		("V6", ["V1","V4"]),
        ("A", ["B","C","V3"]), 
		("B", ["A","C"]),
		("C", ["D","E","F"]),
		("D", ["C","F"]),
		("E", ["C","F","H","G"]),
		("F", ["D","C","E","G","H"]),
		("G", ["E","F","H","I"]),
		("H", ["F","E","G","I","J"]),
		("I", ["G","H","J"]),
		("J", ["H","I"]),  
		 ("K",[]),
		 ("L",["L","L","L"])]    
